package com.jy.adscm.operation.aftersales.bean;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author zyl
 * @since 2019-08-28
 */
public class ShRepairUpkeep implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    //单号
    private  String code;

    /**
     * 客户
     */
    private Integer customer;
    @TableField(exist = false)
    private ShCustomerInfo customerName;
    /**
     * 机器
     */
    private Integer machine;
    @TableField(exist = false)
    private ShMachine machineName;
    /**
     * 故障现象
     */
    private String phenomenon;
    /**
     * 故障时间
     */
    private Date faultTime;
    /**
     * 报修电话
     */
    private String  bxPhone;
    /**
     * 报修人
     */
    private String bxPerson;
    private Date bxTime;
    /**
     * 创建人
     */
    private String creator;
    @TableField(exist = false)
    private String creatorName;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 维修人
     */
    private String repairer;
    @TableField(exist = false)
    private String repairerName;
    /**
     * 计划完成时间
     */
    private Date planFinishDate;
    /**
     * 是否已经启动
     */
    private Integer isStart;
    /**
     * 启动时间
     */
    private Date startDate;
    /**
     * 出发时间
     */
    private Date beginDate;
    /**
     * 到达时间
     */
    private Date arriveDate;
    /**
     * 开始维修时间
     */
    private Date repairStartTime;
    /**
     * 结束维修时间
     */
    private Date repairEndTime;
    /**
     * 离开时间
     */
    private Date leaveDate;
    /**
     * 到达公司时间
     */
    private Date endDate;
    private Integer result;
    private Integer state;

    public String getBxPhone() {
        return bxPhone;
    }

    public void setBxPhone(String bxPhone) {
        this.bxPhone = bxPhone;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public ShCustomerInfo getCustomerName() {
        return customerName;
    }

    public void setCustomerName(ShCustomerInfo customerName) {
        this.customerName = customerName;
    }

    public ShMachine getMachineName() {
        return machineName;
    }

    public void setMachineName(ShMachine machineName) {
        this.machineName = machineName;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public String getRepairerName() {
        return repairerName;
    }

    public void setRepairerName(String repairerName) {
        this.repairerName = repairerName;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getCustomer() {
        return customer;
    }

    public void setCustomer(Integer customer) {
        this.customer = customer;
    }

    public Integer getMachine() {
        return machine;
    }

    public void setMachine(Integer machine) {
        this.machine = machine;
    }

    public String getPhenomenon() {
        return phenomenon;
    }

    public void setPhenomenon(String phenomenon) {
        this.phenomenon = phenomenon;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getFaultTime() {
        return faultTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setFaultTime(Date faultTime) {
        this.faultTime = faultTime;
    }

    public String getBxPerson() {
        return bxPerson;
    }

    public void setBxPerson(String bxPerson) {
        this.bxPerson = bxPerson;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getBxTime() {
        return bxTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setBxTime(Date bxTime) {
        this.bxTime = bxTime;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getRepairer() {
        return repairer;
    }

    public void setRepairer(String repairer) {
        this.repairer = repairer;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getPlanFinishDate() {
        return planFinishDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setPlanFinishDate(Date planFinishDate) {
        this.planFinishDate = planFinishDate;
    }

    public Integer getIsStart() {
        return isStart;
    }

    public void setIsStart(Integer isStart) {
        this.isStart = isStart;
    }
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getStartDate() {
        return startDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getBeginDate() {
        return beginDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getArriveDate() {
        return arriveDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setArriveDate(Date arriveDate) {
        this.arriveDate = arriveDate;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getRepairStartTime() {
        return repairStartTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setRepairStartTime(Date repairStartTime) {
        this.repairStartTime = repairStartTime;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getRepairEndTime() {
        return repairEndTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setRepairEndTime(Date repairEndTime) {
        this.repairEndTime = repairEndTime;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getLeaveDate() {
        return leaveDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setLeaveDate(Date leaveDate) {
        this.leaveDate = leaveDate;
    }
    @JsonFormat(pattern="yyyy-MM-dd ",timezone="GMT+8")
    public Date getEndDate() {
        return endDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd ")
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Integer getResult() {
        return result;
    }

    public void setResult(Integer result) {
        this.result = result;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    @Override
    public String toString() {
        return "ShRepairUpkeep{" +
        "id=" + id +
        ", customer=" + customer +
        ", machine=" + machine +
        ", phenomenon=" + phenomenon +
        ", faultTime=" + faultTime +
        ", bxPerson=" + bxPerson +
        ", bxTime=" + bxTime +
        ", creator=" + creator +
        ", createTime=" + createTime +
        ", repairer=" + repairer +
        ", planFinishDate=" + planFinishDate +
        ", isStart=" + isStart +
        ", startDate=" + startDate +
        ", beginDate=" + beginDate +
        ", arriveDate=" + arriveDate +
        ", repairStartTime=" + repairStartTime +
        ", repairEndTime=" + repairEndTime +
        ", leaveDate=" + leaveDate +
        ", endDate=" + endDate +
        ", result=" + result +
        ", state=" + state +
        "}";
    }
}
